/**
 * 工作任务明细输出类型
 */
export interface WorkOrderTaskOut {
  /** 任务ID */
  id: string;
  /** 工单ID */
  workOrderId: string;
  /** 产品分类ID（关联Product表） */
  productId: string;
  /** 产品分类名称 */
  productName?: string;
  /** 工作项目（0=定期保养, 1=维修, 2=装机, 3=调试, 4=测试, 5=培训, 6=其他） */
  type: number;
  /** 工作项目文本 */
  typeText?: string;
  /** 用户需求描述 */
  userRequirement?: string;
  /** 任务排序序号 */
  sortOrder: number;
  /** 创建时间 */
  creatTime?: string;
  /** 更新时间 */
  updateTime?: string;
}

/**
 * 工单输出类型
 */
export interface WorkOrderOut {
  /** 工单ID */
  id: string;
  /** 工单号 */
  number?: string;
  /** 工单标题 */
  title?: string;
  /** 客户ID */
  customerId: string;
  /** 客户名称 */
  customerName?: string;
  /** 联系人 */
  contactPerson: string;
  /** 联系电话 */
  contactPhone: string;
  /** 客户地址 */
  customerAddress: string;
  /** 工作任务明细列表 */
  workOrderTasks?: WorkOrderTaskOut[];
  /** 工单用时（小时） */
  workingHours: number;
  /** 任务开始时间 */
  startTime?: string;
  /** 任务结束时间（截止时间） */
  endTime?: string;
  /** 工单池标识 */
  poolId?: string;
  /** 工单池名称 */
  poolName?: string;
  /** 是否在工单池中 */
  isInPool: boolean;
  /** 优先级 */
  priority: number;
  /** 优先级文本 */
  priorityText?: string;
  /** 工单状态 */
  status: number;
  /** 工单状态文本 */
  statusText?: string;
  /** 工作项目 */
  type: number;
  /** 工作项目文本 */
  typeText?: string;
  /** 故障描述 */
  faultDescription?: string;
  /** 用户需求 */
  userRequirement?: string;
  /** 故障图片文件信息（JSON格式） */
  faultImages?: string;
  /** 故障视频文件信息（JSON格式） */
  faultVideos?: string;
  /** 其他媒体文件信息描述 */
  mediaFiles?: string;
  /** 创建时间 */
  creatTime?: string;
  /** 更新时间 */
  updateTime?: string;
  /** 创建人 */
  createBy?: string;
  /** 更新人 */
  updateBy?: string;
  /** 当前用户在此工单中的角色 */
  currentUserRole?: number;
  /** 拒绝次数 */
  rejectedCount: number;
  /** 最后拒绝时间 */
  lastRejectTime?: string;
  /** 最后拒绝理由 */
  lastRejectReason?: string;
  /** 最后拒绝人姓名 */
  lastRejectUserName?: string;
  /** 是否需要重新派单 */

} 